/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 */
package com.icinfo.cloud.provider.punish.config.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.icinfo.cloud.common.core.Validator.BaseGroup;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
 * 描述: 业务关联文书配置 config_busi_param_document_info 对应的实体类.<br>
 * WARNING：不是表中字段的属性必须加@Transient注解
 * @author framework generator
 * @date 2022年02月22日
 */
@Data
@Table(name = "upcase.config_busi_param_document_info")
public class ConfigBusiParamDocumentInfo implements Serializable {
    /**
     * id
     */
    @Id
    @Column(name = "id")
    @NotBlank(message = "id不能为空", groups = {BaseGroup.Update.class})
    private String id;

    /**
     * 业务参数配置id
     */
    @Column(name = "busi_param_id")
    @NotBlank(message = "业务参数配置id不能为空", groups = {BaseGroup.Insert.class})
    private String busiParamId;

    /**
     * 文书目录编码
     */
    @Column(name = "document_catalog_code")
    private String documentCatalogCode;

    /**
     * 文书目录名称
     */
    @Column(name = "document_catalog_name")
    private String documentCatalogName;

    /**
     * 文书种类名称
     */
    @Column(name = "document_kind_name")
    private String documentKindName;

    /**
     * 文书种类code
     */
    @Column(name = "document_kind_code")
    private String documentKindCode;

    /**
     * 文号简称
     */
    @Column(name = "document_number_abbreviation")
    private String documentNumberAbbreviation;

    /**
     * 个人模板code
     */
    @Column(name = "template_person_code")
    private String templatePersonCode;
    /**
     * 个人模板名称
     */
    @Column(name = "template_person_name")
    private String templatePersonName;
    /**
     * 排序
     */
    @Column(name = "sort")
    private String sort;

    /**
     * 业务文书说明
     */
    @Column(name = "description")
    private String description;

    /**
     * 文书是否需要审批 0:不需要 1:需要
     */
    @Column(name = "is_approve")
    private String isApprove;

    /**
     * 文号产生环节：1审批前2审批通过后
     */
    @Column(name = "doc_no_gene")
    private String docNoGene;

    /**
     * 审批流id
     */
    @Column(name = "approve_id")
    private String approveId;
    /**
     * 是否需要送达
     */
    @Column(name = "is_send")
    private String isSend;

    /**
     * 送达期限天数
     */
    @Column(name = "send_limit_day")
    private Integer sendLimitDay;

    /**
     * 送达期限天数类别，1 工作日 2 自然日
     */
    @Column(name = "send_limit_type")
    private String sendLimitType;
    /**
     * 是否需要送达回执  0:不需要1:需要
     */
    @Column(name = "is_receipt")
    private String isReceipt;
    /**
     * 是否需要电子送达 0:不需要 1:需要
     */
    @Column(name = "is_elec_send")
    private String isElecSend;
    /**
     * 电子签收方式，1：不需要签收 ；2 收件人签字
     */
    @Column(name = "elec_sign_way")
    private String elecSignWay;
    /**
     * 是否需要签字确认， 0 不需要；1 需要
     */
    @Column(name = "is_confirm")
    private String isConfirm;

    /**
     * 电子签章，0 不启用；1 启用
     */
    @Column(name = "is_elec_sign")
    private String isElecSign;

    /**
     * 是否需要办案部门签章，0 不需要；1 需要
     */
    @Column(name = "is_dept_sign")
    private String isDeptSign;

    /**
     * 是否删除，0 未删除；1已删除
     */
    @Column(name = "is_deleted")
    private String isDeleted;

    /**
     * 添加时间
     */
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 添加人id
     */
    @Column(name = "create_user_id")
    private String createUserId;

    /**
     * 添加人名称
     */
    @Column(name = "create_user_name")
    private String createUserName;
    /**
     * 文书类别
     */
    @Column(name = "document_type")
    private String documentType;
    /**
     * 关联文书目录编码（多个以；分隔）
     */
    @Column(name = "relation_document_catalog_code")
    private String relationDocumentCatalogCode;
    /**
     * 法人模板code
     */
    @Column(name = "template_legal_code")
    private String templateLegalCode;
    /**
     * 法人模板名称
     */
    @Column(name = "template_legal_name")
    private String templateLegalName;
    /**
     * 是否生成文号；1生成 0不生成
     */
    @Column(name = "is_gen_docnum")
    private String isGenDocnum;
    /**
     * 提出异议日期
     */
    @Column(name = "objection_days")
    private String objectionDays;
    /**
     * 关联对象 1:案件 2:当事人
     */
    @Column(name = "document_link_object_type")
    private String documentLinkObjectType;
    /**
     * 文书应用分组：移动端办案直通车 ZTC，移动端送达 YDSD，PC端 PC
     */
    @Column(name = "apply_group")
    private String applyGroup;

    /**
     * 文书序号类型 1-按时间顺序 2-与某文书一致 3-按时间顺序且重复则二级 4-与某文书使用相同序列
     */
    @Column(name = "document_number_serial_type")
    private String documentNumberSerialType;
    /**
     * 文书序号对齐文书的目录编码
     */
    @Column(name = "document_number_match_catalog_code")
    private String documentNumberMatchCatalogCode;

    /**
     * 送达回证匹配的送达文书目录编码
     */
    @Column(name = "match_sent_document_catalog_code")
    private String matchSentDocumentCatalogCode;

    /**
     * 送达回证匹配的送达文书种类编码
     */
    @Column(name = "match_sent_document_kind_code")
    private String matchSentDocumentKindCode;

    /**
     * 是否需要水印 0否 1是
     */
    @Column(name = "is_watermark")
    private String isWatermark;

    /**
     * 是否速结程序；1 是,0 否
     */
    @Column(name = "is_fast_case")
    private String isFastCase;
    /**
     * 是否分事项配置模板；1 是,0 否
     */
    @Column(name = "is_item_temple")
    private String isItemTemple;
    /**
     * 速结程序个人文书模板名称
     */
    @Column(name = "fast_template_person_name")
    private String fastTemplatePersonName;
    /**
     * 速结程序个人文书模板code
     */
    @Column(name = "fast_template_person_code")
    private String fastTemplatePersonCode;
    /**
     * 速结程序法人文书模板code
     */
    @Column(name = "fast_template_legal_code")
    private String fastTemplateLegalCode;
    /**
     * 速结程序法人文书模板名称
     */
    @Column(name = "fast_template_legal_name")
    private String fastTemplateLegalName;
    /**
     * 是否允许修改类别  0:不允许 1:允许修改 2：重制文书
     */
    @Column(name = "is_allow_edit")
    private String isAllowEdit;

    /**
     * 移动端模板code
     */
    @Column(name = "template_app_code")
    private String templateAppCode;

    /**
     * 移动端模板名称
     */
    @Column(name = "template_app_name")
    private String templateAppName;

    private static final long serialVersionUID = 1L;
}
